﻿Public Class WfCadCli
    Inherits System.Web.UI.Page
    Dim objDespLog As New Despachante


    Protected Sub BtnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnSave.Click
        Dim objCliente As New Cliente
        Dim objClienteDao As New ClienteDAO
        Dim objCidadeDao As New CidadeDAO

        objDespLog = Session("DespLogado")
        If Request.QueryString("CodCli") IsNot Nothing Then
            Dim cod_cli As Integer = Request.QueryString("CodCli")
            Try
                objCliente.CodCli = cod_cli
                objCliente.NomeCli = tbnome.Text
                objCliente.EmailCli = tbemail.Text
                objCliente.TelCli = tbtel.Text
                objCliente.EndCli = tbend.Text
                objCliente.CpfCnpjCli = tbcpf.Text
                objCliente.Despachante = objDespLog
                objCliente.Cidade = objCidadeDao.SelectCidadeNome(ListCidade.SelectedValue.ToString)
                objClienteDao.Atualizar(objCliente)
                lbmsg.ForeColor = Drawing.Color.Blue
                lbmsg.Text = "Cliente Atualizado com sucesso !"
                EnableTextBoxFalse()
                BtnSave.Enabled = False
            Catch ex As Exception
                lbmsg.ForeColor = Drawing.Color.Red
                lbmsg.Text = "Erro ao Atualizar Cliente !"
            End Try
        Else


            Try
                objCliente.NomeCli = tbnome.Text
                objCliente.EmailCli = tbemail.Text
                objCliente.TelCli = tbtel.Text
                objCliente.EndCli = tbend.Text
                objCliente.CpfCnpjCli = tbcpf.Text
                objCliente.Despachante = objDespLog
                objCliente.Cidade = objCidadeDao.SelectCidadeNome(ListCidade.SelectedValue.ToString)

                objClienteDao.Inserir(objCliente)
                lbmsg.ForeColor = Drawing.Color.Blue
                lbmsg.Text = "Cliente salvo com sucesso !"

            Catch ex As Exception
                lbmsg.ForeColor = Drawing.Color.Red
                lbmsg.Text = "Erro ao Salvar Cliente !"
            End Try
        End If
       




    End Sub

    Protected Sub DropEstado_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DropEstado.SelectedIndexChanged
        Dim objCidadeDao As New CidadeDAO
        Dim lista As New List(Of Cidade)
        Dim objEst As New Estado
        Dim objEstDao As New EstadoDAO
        objEst.NomeEst = DropEstado.SelectedItem.Text
        objEst = objEstDao.SelectEstadoNome(objEst)

        If DropEstado.SelectedValue = "neutro" Then

            ListCidade.Visible = False
        Else
            lista = objCidadeDao.ListaCidadeEstado(objEst.CodEst)
            ListCidade.Visible = True
        End If

        ListCidade.Items.Clear()

        For Each cid As Cidade In lista
            ListCidade.Items.Add(cid.NomeCid)
        Next
    End Sub

    Public Sub listaEstado()

        Dim lista As New List(Of Estado)
        Dim objEstadoDao As New EstadoDAO

        lista = objEstadoDao.ListaTodos
        For Each est As Estado In lista
            DropEstado.Items.Add(est.NomeEst)
        Next
        DropEstado.DataBind()
    End Sub

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

        If IsPostBack = False Then
            If Request.QueryString("CodCli") IsNot Nothing Then
                Dim cliente As New Cliente
                Dim clienteDao As New ClienteDAO
                Dim cod_cli As Integer = Request.QueryString("CodCli")
                Editar.Visible = True
                cliente = clienteDao.SelectCliId(cod_cli)
                listaEstado()
                tbnome.Text = cliente.NomeCli
                tbemail.Text = cliente.EmailCli
                tbend.Text = cliente.EndCli
                tbtel.Text = cliente.TelCli
                tbcpf.Text = cliente.CpfCnpjCli
                DropEstado.SelectedItem.Text = cliente.Cidade.Estado.NomeEst
                ListCidade.Items.Add(cliente.Cidade.NomeCid)
                ValidaCidade.Enabled = False
                EnableTextBoxFalse()
                BtnSave.Text = "Salvar Alterações"
            Else
                listaEstado()
            End If
        End If
    End Sub

    Public Sub EnableTextBoxTrue()
        tbcpf.Enabled = True
        tbemail.Enabled = True
        tbend.Enabled = True
        tbnome.Enabled = True
        tbtel.Enabled = True
        DropEstado.Enabled = True
        ListCidade.Enabled = True
    End Sub

    Public Sub EnableTextBoxFalse()
        tbcpf.Enabled = False
        tbemail.Enabled = False
        tbend.Enabled = False
        tbnome.Enabled = False
        tbtel.Enabled = False
        DropEstado.Enabled = False
        ListCidade.Enabled = False
    End Sub

    Protected Sub Editar_Click(sender As Object, e As EventArgs) Handles Editar.Click
        EnableTextBoxTrue()
        ValidaCidade.Enabled = True
        Editar.Enabled = False
    End Sub

    Private Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender
        If Session("DespLogado") Is Nothing Then
            Response.Redirect("/Screens/WF1.aspx")
        End If
    End Sub
End Class